<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>DSF2FLAC: cmdline.c File Reference</title>

<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />

<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
  $(document).ready(function() { searchBox.OnSelectItem(0); });
</script>

</head>
<body>
<div id="top"><!-- do not remove this div! -->


<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  
  
  <td style="padding-left: 0.5em;">
   <div id="projectname">DSF2FLAC
   
   </div>
   
  </td>
  
  
  
 </tr>
 </tbody>
</table>
</div>

<!-- Generated by Doxygen 1.7.6.1 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
      <li><a href="annotated.html"><span>Classes</span></a></li>
      <li class="current"><a href="files.html"><span>Files</span></a></li>
      <li>
        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="search/mag_sel.png"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
          </span>
        </div>
      </li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="files.html"><span>File&#160;List</span></a></li>
      <li><a href="globals.html"><span>File&#160;Members</span></a></li>
    </ul>
  </div>
</div>
<div class="header">
  <div class="summary">
<a href="#define-members">Defines</a> &#124;
<a href="#enum-members">Enumerations</a> &#124;
<a href="#func-members">Functions</a> &#124;
<a href="#var-members">Variables</a>  </div>
  <div class="headertitle">
<div class="title">cmdline.c File Reference</div>  </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><code>#include &lt;stdio.h&gt;</code><br/>
<code>#include &lt;stdlib.h&gt;</code><br/>
<code>#include &lt;string.h&gt;</code><br/>
<code>#include &lt;getopt.h&gt;</code><br/>
<code>#include &quot;<a class="el" href="cmdline_8h_source.html">cmdline.h</a>&quot;</code><br/>
</div><table class="memberdecls">
<tr><td colspan="2"><h2><a name="define-members"></a>
Defines</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cmdline_8c.html#a8db449d7b07c45ef8a58716e09eba04e">FIX_UNUSED</a>(X)&#160;&#160;&#160;(void) (X) /* avoid warnings for unused params */</td></tr>
<tr><td colspan="2"><h2><a name="enum-members"></a>
Enumerations</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cmdline_8c.html#a88e31a859f36efa57ad64e6ae13332a1">cmdline_parser_arg_type</a> { <br/>
&#160;&#160;<a class="el" href="cmdline_8c.html#a88e31a859f36efa57ad64e6ae13332a1a67dd250fb3e23862523b667407868ada">ARG_NO</a>, 
<a class="el" href="cmdline_8c.html#a88e31a859f36efa57ad64e6ae13332a1afd135f03243c33991ef507f4410718f7">ARG_FLAG</a>, 
<a class="el" href="cmdline_8c.html#a88e31a859f36efa57ad64e6ae13332a1a1e0904ee5e3baf2aa4070ab0718a3afa">ARG_STRING</a>, 
<a class="el" href="cmdline_8c.html#a88e31a859f36efa57ad64e6ae13332a1a58393752406d163205fa18f450909993">ARG_INT</a>, 
<br/>
&#160;&#160;<a class="el" href="cmdline_8c.html#a88e31a859f36efa57ad64e6ae13332a1a5875de3e892eb32ed41e4d60ef7d99ca">ARG_FLOAT</a>
<br/>
 }</td></tr>
<tr><td colspan="2"><h2><a name="func-members"></a>
Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cmdline_8c.html#a48968b912c47767e9f057f5bc11634cb">clear_given</a> (struct <a class="el" href="structgengetopt__args__info.html">gengetopt_args_info</a> *args_info)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cmdline_8c.html#a4d7018864f814395754ea4127ce4d37b">clear_args</a> (struct <a class="el" href="structgengetopt__args__info.html">gengetopt_args_info</a> *args_info)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cmdline_8c.html#ad3c665da3224722942f7cc0d35d15fa9">cmdline_parser_internal</a> (int argc, char **argv, struct <a class="el" href="structgengetopt__args__info.html">gengetopt_args_info</a> *args_info, struct <a class="el" href="structcmdline__parser__params.html">cmdline_parser_params</a> *params, const char *additional_error)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cmdline_8c.html#ada2e780d75495b363fa79be7d866bc22">cmdline_parser_required2</a> (struct <a class="el" href="structgengetopt__args__info.html">gengetopt_args_info</a> *args_info, const char *prog_name, const char *additional_error)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cmdline_8c.html#a0ec9efd6eb3e6e939fcaaadd8b4c6a9f">gengetopt_strdup</a> (const char *s)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">replacement of strdup, which is not standard  <a href="#a0ec9efd6eb3e6e939fcaaadd8b4c6a9f"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cmdline_8c.html#a4dcfd361cdaac143739a02102296fedd">init_args_info</a> (struct <a class="el" href="structgengetopt__args__info.html">gengetopt_args_info</a> *args_info)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cmdline_8c.html#a96f27bf35ce0ab8eea7a1f6e6b59a5e2">cmdline_parser_print_version</a> (void)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cmdline_8c.html#ad600bb9026825a295ea57df22bdf7eca">print_help_common</a> (void)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cmdline_8c.html#ad4f7db2fa4002379eb30e5206f3b7492">cmdline_parser_print_help</a> (void)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cmdline_8c.html#aca62b50d03d0d082968eeb1940f98650">cmdline_parser_init</a> (struct <a class="el" href="structgengetopt__args__info.html">gengetopt_args_info</a> *args_info)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cmdline_8c.html#af72b814611cffc706b2135ccdfe7e997">cmdline_parser_params_init</a> (struct <a class="el" href="structcmdline__parser__params.html">cmdline_parser_params</a> *params)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="structcmdline__parser__params.html">cmdline_parser_params</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cmdline_8c.html#afd778af110fe0ee1ea5eac7aa9939d92">cmdline_parser_params_create</a> (void)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cmdline_8c.html#a3a3cc8b020811185cb0a4b96e1ff5a40">free_string_field</a> (char **s)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cmdline_8c.html#ace6fb8241473bb89c5a575774eb4ba2a">cmdline_parser_release</a> (struct <a class="el" href="structgengetopt__args__info.html">gengetopt_args_info</a> *args_info)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cmdline_8c.html#a1814ac6d4847d3e64dc04e4b4e722886">check_possible_values</a> (const char *val, const char *values[])</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cmdline_8c.html#a63bd4f7f053a354810e136a39759f0b3">write_into_file</a> (FILE *outfile, const char *opt, const char *arg, const char *values[])</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cmdline_8c.html#a1f73418092a6e6eb3706aa0de2785e11">cmdline_parser_dump</a> (FILE *outfile, struct <a class="el" href="structgengetopt__args__info.html">gengetopt_args_info</a> *args_info)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cmdline_8c.html#a5f3e9412f88f1058a31ac28ad2ea2818">cmdline_parser_file_save</a> (const char *filename, struct <a class="el" href="structgengetopt__args__info.html">gengetopt_args_info</a> *args_info)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cmdline_8c.html#af1b97c4e92b88f736e350b3902266ba4">cmdline_parser_free</a> (struct <a class="el" href="structgengetopt__args__info.html">gengetopt_args_info</a> *args_info)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cmdline_8c.html#a3c3df73307452c51fee0a34640d92196">cmdline_parser</a> (int argc, char **argv, struct <a class="el" href="structgengetopt__args__info.html">gengetopt_args_info</a> *args_info)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cmdline_8c.html#ac7bb5d76f3f56d1c0b3b531f11ac6f07">cmdline_parser_ext</a> (int argc, char **argv, struct <a class="el" href="structgengetopt__args__info.html">gengetopt_args_info</a> *args_info, struct <a class="el" href="structcmdline__parser__params.html">cmdline_parser_params</a> *params)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cmdline_8c.html#a78a0cd581698415a62f68214603b1a30">cmdline_parser2</a> (int argc, char **argv, struct <a class="el" href="structgengetopt__args__info.html">gengetopt_args_info</a> *args_info, int override, int initialize, int check_required)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cmdline_8c.html#a83651e5be280d60aed58fdb72456a030">cmdline_parser_required</a> (struct <a class="el" href="structgengetopt__args__info.html">gengetopt_args_info</a> *args_info, const char *prog_name)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cmdline_8c.html#a108a41cdbf1c4e82907f9f39498bd3ba">update_arg</a> (void *field, char **orig_field, unsigned int *field_given, unsigned int *prev_given, char *value, const char *possible_values[], const char *default_value, <a class="el" href="cmdline_8c.html#a88e31a859f36efa57ad64e6ae13332a1">cmdline_parser_arg_type</a> arg_type, int check_ambiguity, int override, int no_free, int multiple_option, const char *long_opt, char short_opt, const char *additional_error)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">updates an option  <a href="#a108a41cdbf1c4e82907f9f39498bd3ba"></a><br/></td></tr>
<tr><td colspan="2"><h2><a name="var-members"></a>
Variables</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cmdline_8c.html#a610c3307abce5a8fd304b86b018ae60b">gengetopt_args_info_purpose</a> = &quot;Convert DSD audio files from DFF or DSF format into PCM flac audio.&quot;</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">the purpose string of the program  <a href="#a610c3307abce5a8fd304b86b018ae60b"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cmdline_8c.html#a9f397a306f363bfdebb611e86acf36d5">gengetopt_args_info_usage</a> = &quot;Usage: dsf2flac [OPTIONS]...&quot;</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">the usage string of the program  <a href="#a9f397a306f363bfdebb611e86acf36d5"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cmdline_8c.html#accad6107ca685f6eba555f6ce63d355d">gengetopt_args_info_description</a> = &quot;&quot;</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cmdline_8c.html#a6af7a6b7fb37c0abaa916ee1cfa0a41f">gengetopt_args_info_help</a> []</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">all the lines making the help output  <a href="#a6af7a6b7fb37c0abaa916ee1cfa0a41f"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cmdline_8c.html#af6e4cf8a2e851ac241127c0d8218f4b0">cmdline_parser_samplerate_values</a> []</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Possible values for samplerate.  <a href="#af6e4cf8a2e851ac241127c0d8218f4b0"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cmdline_8c.html#a101ddd33a2cf858c144f9b89b443b5f3">cmdline_parser_bits_values</a> [] = { &quot;16&quot;, &quot;20&quot;, &quot;24&quot;, 0 }</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Possible values for bits.  <a href="#a101ddd33a2cf858c144f9b89b443b5f3"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="cmdline_8c.html#a08f16a026de44b77c5e7be490fb9e32b">package_name</a> = 0</td></tr>
</table>
<hr/><h2>Define Documentation</h2>
<a class="anchor" id="a8db449d7b07c45ef8a58716e09eba04e"></a><!-- doxytag: member="cmdline.c::FIX_UNUSED" ref="a8db449d7b07c45ef8a58716e09eba04e" args="(X)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define <a class="el" href="cmdline_8c.html#a8db449d7b07c45ef8a58716e09eba04e">FIX_UNUSED</a></td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">X</td><td>)</td>
          <td>&#160;&#160;&#160;(void) (X) /* avoid warnings for unused params */</td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<hr/><h2>Enumeration Type Documentation</h2>
<a class="anchor" id="a88e31a859f36efa57ad64e6ae13332a1"></a><!-- doxytag: member="cmdline.c::cmdline_parser_arg_type" ref="a88e31a859f36efa57ad64e6ae13332a1" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="cmdline_8c.html#a88e31a859f36efa57ad64e6ae13332a1">cmdline_parser_arg_type</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"><em><a class="anchor" id="a88e31a859f36efa57ad64e6ae13332a1a67dd250fb3e23862523b667407868ada"></a><!-- doxytag: member="ARG_NO" ref="a88e31a859f36efa57ad64e6ae13332a1a67dd250fb3e23862523b667407868ada" args="" -->ARG_NO</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a88e31a859f36efa57ad64e6ae13332a1afd135f03243c33991ef507f4410718f7"></a><!-- doxytag: member="ARG_FLAG" ref="a88e31a859f36efa57ad64e6ae13332a1afd135f03243c33991ef507f4410718f7" args="" -->ARG_FLAG</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a88e31a859f36efa57ad64e6ae13332a1a1e0904ee5e3baf2aa4070ab0718a3afa"></a><!-- doxytag: member="ARG_STRING" ref="a88e31a859f36efa57ad64e6ae13332a1a1e0904ee5e3baf2aa4070ab0718a3afa" args="" -->ARG_STRING</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a88e31a859f36efa57ad64e6ae13332a1a58393752406d163205fa18f450909993"></a><!-- doxytag: member="ARG_INT" ref="a88e31a859f36efa57ad64e6ae13332a1a58393752406d163205fa18f450909993" args="" -->ARG_INT</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a88e31a859f36efa57ad64e6ae13332a1a5875de3e892eb32ed41e4d60ef7d99ca"></a><!-- doxytag: member="ARG_FLOAT" ref="a88e31a859f36efa57ad64e6ae13332a1a5875de3e892eb32ed41e4d60ef7d99ca" args="" -->ARG_FLOAT</em>&nbsp;</td><td>
</td></tr>
</table>
</dd>
</dl>

</div>
</div>
<hr/><h2>Function Documentation</h2>
<a class="anchor" id="a1814ac6d4847d3e64dc04e4b4e722886"></a><!-- doxytag: member="cmdline.c::check_possible_values" ref="a1814ac6d4847d3e64dc04e4b4e722886" args="(const char *val, const char *values[])" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static int <a class="el" href="cmdline_8c.html#a1814ac6d4847d3e64dc04e4b4e722886">check_possible_values</a> </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>val</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>values</em>[]&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">val</td><td>the value to check </td></tr>
    <tr><td class="paramname">values</td><td>the possible values </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>the index of the matched value: -1 if no value matched, -2 if more than one value has matched </dd></dl>

</div>
</div>
<a class="anchor" id="a4d7018864f814395754ea4127ce4d37b"></a><!-- doxytag: member="cmdline.c::clear_args" ref="a4d7018864f814395754ea4127ce4d37b" args="(struct gengetopt_args_info *args_info)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static void <a class="el" href="cmdline_8c.html#a4d7018864f814395754ea4127ce4d37b">clear_args</a> </td>
          <td>(</td>
          <td class="paramtype">struct <a class="el" href="structgengetopt__args__info.html">gengetopt_args_info</a> *&#160;</td>
          <td class="paramname"><em>args_info</em></td><td>)</td>
          <td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="a48968b912c47767e9f057f5bc11634cb"></a><!-- doxytag: member="cmdline.c::clear_given" ref="a48968b912c47767e9f057f5bc11634cb" args="(struct gengetopt_args_info *args_info)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static void <a class="el" href="cmdline_8c.html#a48968b912c47767e9f057f5bc11634cb">clear_given</a> </td>
          <td>(</td>
          <td class="paramtype">struct <a class="el" href="structgengetopt__args__info.html">gengetopt_args_info</a> *&#160;</td>
          <td class="paramname"><em>args_info</em></td><td>)</td>
          <td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="a3c3df73307452c51fee0a34640d92196"></a><!-- doxytag: member="cmdline.c::cmdline_parser" ref="a3c3df73307452c51fee0a34640d92196" args="(int argc, char **argv, struct gengetopt_args_info *args_info)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int <a class="el" href="cmdline_8h.html#a3c3df73307452c51fee0a34640d92196">cmdline_parser</a> </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>argc</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">char **&#160;</td>
          <td class="paramname"><em>argv</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">struct <a class="el" href="structgengetopt__args__info.html">gengetopt_args_info</a> *&#160;</td>
          <td class="paramname"><em>args_info</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>The command line parser </p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">argc</td><td>the number of command line options </td></tr>
    <tr><td class="paramname">argv</td><td>the command line options </td></tr>
    <tr><td class="paramname">args_info</td><td>the structure where option information will be stored </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>0 if everything went fine, NON 0 if an error took place </dd></dl>

</div>
</div>
<a class="anchor" id="a78a0cd581698415a62f68214603b1a30"></a><!-- doxytag: member="cmdline.c::cmdline_parser2" ref="a78a0cd581698415a62f68214603b1a30" args="(int argc, char **argv, struct gengetopt_args_info *args_info, int override, int initialize, int check_required)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int <a class="el" href="cmdline_8h.html#a78a0cd581698415a62f68214603b1a30">cmdline_parser2</a> </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>argc</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">char **&#160;</td>
          <td class="paramname"><em>argv</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">struct <a class="el" href="structgengetopt__args__info.html">gengetopt_args_info</a> *&#160;</td>
          <td class="paramname"><em>args_info</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>override</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>initialize</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>check_required</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>The command line parser (version with additional parameters - deprecated) </p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">argc</td><td>the number of command line options </td></tr>
    <tr><td class="paramname">argv</td><td>the command line options </td></tr>
    <tr><td class="paramname">args_info</td><td>the structure where option information will be stored </td></tr>
    <tr><td class="paramname">override</td><td>whether to override possibly already present options </td></tr>
    <tr><td class="paramname">initialize</td><td>whether to initialize the option structure my_args_info </td></tr>
    <tr><td class="paramname">check_required</td><td>whether to check that all required options were provided </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>0 if everything went fine, NON 0 if an error took place </dd></dl>
<dl class="deprecated"><dt><b><a class="el" href="deprecated.html#_deprecated000001">Deprecated:</a></b></dt><dd>use <a class="el" href="cmdline_8c.html#ac7bb5d76f3f56d1c0b3b531f11ac6f07">cmdline_parser_ext()</a> instead </dd></dl>

</div>
</div>
<a class="anchor" id="a1f73418092a6e6eb3706aa0de2785e11"></a><!-- doxytag: member="cmdline.c::cmdline_parser_dump" ref="a1f73418092a6e6eb3706aa0de2785e11" args="(FILE *outfile, struct gengetopt_args_info *args_info)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int <a class="el" href="cmdline_8h.html#a1f73418092a6e6eb3706aa0de2785e11">cmdline_parser_dump</a> </td>
          <td>(</td>
          <td class="paramtype">FILE *&#160;</td>
          <td class="paramname"><em>outfile</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">struct <a class="el" href="structgengetopt__args__info.html">gengetopt_args_info</a> *&#160;</td>
          <td class="paramname"><em>args_info</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Save the contents of the option struct into an already open FILE stream. </p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">outfile</td><td>the stream where to dump options </td></tr>
    <tr><td class="paramname">args_info</td><td>the option struct to dump </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>0 if everything went fine, NON 0 if an error took place </dd></dl>

</div>
</div>
<a class="anchor" id="ac7bb5d76f3f56d1c0b3b531f11ac6f07"></a><!-- doxytag: member="cmdline.c::cmdline_parser_ext" ref="ac7bb5d76f3f56d1c0b3b531f11ac6f07" args="(int argc, char **argv, struct gengetopt_args_info *args_info, struct cmdline_parser_params *params)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int <a class="el" href="cmdline_8h.html#ac7bb5d76f3f56d1c0b3b531f11ac6f07">cmdline_parser_ext</a> </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>argc</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">char **&#160;</td>
          <td class="paramname"><em>argv</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">struct <a class="el" href="structgengetopt__args__info.html">gengetopt_args_info</a> *&#160;</td>
          <td class="paramname"><em>args_info</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">struct <a class="el" href="structcmdline__parser__params.html">cmdline_parser_params</a> *&#160;</td>
          <td class="paramname"><em>params</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>The command line parser (version with additional parameters) </p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">argc</td><td>the number of command line options </td></tr>
    <tr><td class="paramname">argv</td><td>the command line options </td></tr>
    <tr><td class="paramname">args_info</td><td>the structure where option information will be stored </td></tr>
    <tr><td class="paramname">params</td><td>additional parameters for the parser </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>0 if everything went fine, NON 0 if an error took place </dd></dl>

</div>
</div>
<a class="anchor" id="a5f3e9412f88f1058a31ac28ad2ea2818"></a><!-- doxytag: member="cmdline.c::cmdline_parser_file_save" ref="a5f3e9412f88f1058a31ac28ad2ea2818" args="(const char *filename, struct gengetopt_args_info *args_info)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int <a class="el" href="cmdline_8h.html#a5f3e9412f88f1058a31ac28ad2ea2818">cmdline_parser_file_save</a> </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>filename</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">struct <a class="el" href="structgengetopt__args__info.html">gengetopt_args_info</a> *&#160;</td>
          <td class="paramname"><em>args_info</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Save the contents of the option struct into a (text) file. This file can be read by the config file parser (if generated by gengetopt) </p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">filename</td><td>the file where to save </td></tr>
    <tr><td class="paramname">args_info</td><td>the option struct to save </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>0 if everything went fine, NON 0 if an error took place </dd></dl>

</div>
</div>
<a class="anchor" id="af1b97c4e92b88f736e350b3902266ba4"></a><!-- doxytag: member="cmdline.c::cmdline_parser_free" ref="af1b97c4e92b88f736e350b3902266ba4" args="(struct gengetopt_args_info *args_info)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="cmdline_8h.html#af1b97c4e92b88f736e350b3902266ba4">cmdline_parser_free</a> </td>
          <td>(</td>
          <td class="paramtype">struct <a class="el" href="structgengetopt__args__info.html">gengetopt_args_info</a> *&#160;</td>
          <td class="paramname"><em>args_info</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Deallocates the string fields of the <a class="el" href="structgengetopt__args__info.html" title="Where the command line options are stored.">gengetopt_args_info</a> structure (but does not deallocate the structure itself) </p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">args_info</td><td>the structure to deallocate </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="aca62b50d03d0d082968eeb1940f98650"></a><!-- doxytag: member="cmdline.c::cmdline_parser_init" ref="aca62b50d03d0d082968eeb1940f98650" args="(struct gengetopt_args_info *args_info)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="cmdline_8h.html#aca62b50d03d0d082968eeb1940f98650">cmdline_parser_init</a> </td>
          <td>(</td>
          <td class="paramtype">struct <a class="el" href="structgengetopt__args__info.html">gengetopt_args_info</a> *&#160;</td>
          <td class="paramname"><em>args_info</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Initializes the passed <a class="el" href="structgengetopt__args__info.html" title="Where the command line options are stored.">gengetopt_args_info</a> structure's fields (also set default values for options that have a default) </p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">args_info</td><td>the structure to initialize </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ad3c665da3224722942f7cc0d35d15fa9"></a><!-- doxytag: member="cmdline.c::cmdline_parser_internal" ref="ad3c665da3224722942f7cc0d35d15fa9" args="(int argc, char **argv, struct gengetopt_args_info *args_info, struct cmdline_parser_params *params, const char *additional_error)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int <a class="el" href="cmdline_8c.html#ad3c665da3224722942f7cc0d35d15fa9">cmdline_parser_internal</a> </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>argc</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">char **&#160;</td>
          <td class="paramname"><em>argv</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">struct <a class="el" href="structgengetopt__args__info.html">gengetopt_args_info</a> *&#160;</td>
          <td class="paramname"><em>args_info</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">struct <a class="el" href="structcmdline__parser__params.html">cmdline_parser_params</a> *&#160;</td>
          <td class="paramname"><em>params</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>additional_error</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="afd778af110fe0ee1ea5eac7aa9939d92"></a><!-- doxytag: member="cmdline.c::cmdline_parser_params_create" ref="afd778af110fe0ee1ea5eac7aa9939d92" args="(void)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">struct <a class="el" href="structcmdline__parser__params.html">cmdline_parser_params</a>* <a class="el" href="cmdline_8h.html#afd778af110fe0ee1ea5eac7aa9939d92">cmdline_parser_params_create</a> </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [read]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Allocates dynamically a <a class="el" href="structcmdline__parser__params.html" title="The additional parameters to pass to parser functions.">cmdline_parser_params</a> structure and initializes all its fields to their default values </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>the created and initialized <a class="el" href="structcmdline__parser__params.html" title="The additional parameters to pass to parser functions.">cmdline_parser_params</a> structure </dd></dl>

</div>
</div>
<a class="anchor" id="af72b814611cffc706b2135ccdfe7e997"></a><!-- doxytag: member="cmdline.c::cmdline_parser_params_init" ref="af72b814611cffc706b2135ccdfe7e997" args="(struct cmdline_parser_params *params)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="cmdline_8h.html#af72b814611cffc706b2135ccdfe7e997">cmdline_parser_params_init</a> </td>
          <td>(</td>
          <td class="paramtype">struct <a class="el" href="structcmdline__parser__params.html">cmdline_parser_params</a> *&#160;</td>
          <td class="paramname"><em>params</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Initializes all the fields a <a class="el" href="structcmdline__parser__params.html" title="The additional parameters to pass to parser functions.">cmdline_parser_params</a> structure to their default values </p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">params</td><td>the structure to initialize </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ad4f7db2fa4002379eb30e5206f3b7492"></a><!-- doxytag: member="cmdline.c::cmdline_parser_print_help" ref="ad4f7db2fa4002379eb30e5206f3b7492" args="(void)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="cmdline_8h.html#ad4f7db2fa4002379eb30e5206f3b7492">cmdline_parser_print_help</a> </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Print the help </p>

</div>
</div>
<a class="anchor" id="a96f27bf35ce0ab8eea7a1f6e6b59a5e2"></a><!-- doxytag: member="cmdline.c::cmdline_parser_print_version" ref="a96f27bf35ce0ab8eea7a1f6e6b59a5e2" args="(void)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="cmdline_8h.html#a96f27bf35ce0ab8eea7a1f6e6b59a5e2">cmdline_parser_print_version</a> </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Print the version </p>

</div>
</div>
<a class="anchor" id="ace6fb8241473bb89c5a575774eb4ba2a"></a><!-- doxytag: member="cmdline.c::cmdline_parser_release" ref="ace6fb8241473bb89c5a575774eb4ba2a" args="(struct gengetopt_args_info *args_info)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static void <a class="el" href="cmdline_8c.html#ace6fb8241473bb89c5a575774eb4ba2a">cmdline_parser_release</a> </td>
          <td>(</td>
          <td class="paramtype">struct <a class="el" href="structgengetopt__args__info.html">gengetopt_args_info</a> *&#160;</td>
          <td class="paramname"><em>args_info</em></td><td>)</td>
          <td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="a83651e5be280d60aed58fdb72456a030"></a><!-- doxytag: member="cmdline.c::cmdline_parser_required" ref="a83651e5be280d60aed58fdb72456a030" args="(struct gengetopt_args_info *args_info, const char *prog_name)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int <a class="el" href="cmdline_8h.html#a83651e5be280d60aed58fdb72456a030">cmdline_parser_required</a> </td>
          <td>(</td>
          <td class="paramtype">struct <a class="el" href="structgengetopt__args__info.html">gengetopt_args_info</a> *&#160;</td>
          <td class="paramname"><em>args_info</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>prog_name</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Checks that all the required options were specified </p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">args_info</td><td>the structure to check </td></tr>
    <tr><td class="paramname">prog_name</td><td>the name of the program that will be used to print possible errors </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd></dd></dl>

</div>
</div>
<a class="anchor" id="ada2e780d75495b363fa79be7d866bc22"></a><!-- doxytag: member="cmdline.c::cmdline_parser_required2" ref="ada2e780d75495b363fa79be7d866bc22" args="(struct gengetopt_args_info *args_info, const char *prog_name, const char *additional_error)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int <a class="el" href="cmdline_8c.html#ada2e780d75495b363fa79be7d866bc22">cmdline_parser_required2</a> </td>
          <td>(</td>
          <td class="paramtype">struct <a class="el" href="structgengetopt__args__info.html">gengetopt_args_info</a> *&#160;</td>
          <td class="paramname"><em>args_info</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>prog_name</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>additional_error</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="a3a3cc8b020811185cb0a4b96e1ff5a40"></a><!-- doxytag: member="cmdline.c::free_string_field" ref="a3a3cc8b020811185cb0a4b96e1ff5a40" args="(char **s)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static void <a class="el" href="cmdline_8c.html#a3a3cc8b020811185cb0a4b96e1ff5a40">free_string_field</a> </td>
          <td>(</td>
          <td class="paramtype">char **&#160;</td>
          <td class="paramname"><em>s</em></td><td>)</td>
          <td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="a0ec9efd6eb3e6e939fcaaadd8b4c6a9f"></a><!-- doxytag: member="cmdline.c::gengetopt_strdup" ref="a0ec9efd6eb3e6e939fcaaadd8b4c6a9f" args="(const char *s)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">char * <a class="el" href="cmdline_8c.html#a0ec9efd6eb3e6e939fcaaadd8b4c6a9f">gengetopt_strdup</a> </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>s</em></td><td>)</td>
          <td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>replacement of strdup, which is not standard </p>

</div>
</div>
<a class="anchor" id="a4dcfd361cdaac143739a02102296fedd"></a><!-- doxytag: member="cmdline.c::init_args_info" ref="a4dcfd361cdaac143739a02102296fedd" args="(struct gengetopt_args_info *args_info)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static void <a class="el" href="cmdline_8c.html#a4dcfd361cdaac143739a02102296fedd">init_args_info</a> </td>
          <td>(</td>
          <td class="paramtype">struct <a class="el" href="structgengetopt__args__info.html">gengetopt_args_info</a> *&#160;</td>
          <td class="paramname"><em>args_info</em></td><td>)</td>
          <td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="ad600bb9026825a295ea57df22bdf7eca"></a><!-- doxytag: member="cmdline.c::print_help_common" ref="ad600bb9026825a295ea57df22bdf7eca" args="(void)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static void <a class="el" href="cmdline_8c.html#ad600bb9026825a295ea57df22bdf7eca">print_help_common</a> </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="a108a41cdbf1c4e82907f9f39498bd3ba"></a><!-- doxytag: member="cmdline.c::update_arg" ref="a108a41cdbf1c4e82907f9f39498bd3ba" args="(void *field, char **orig_field, unsigned int *field_given, unsigned int *prev_given, char *value, const char *possible_values[], const char *default_value, cmdline_parser_arg_type arg_type, int check_ambiguity, int override, int no_free, int multiple_option, const char *long_opt, char short_opt, const char *additional_error)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static int <a class="el" href="cmdline_8c.html#a108a41cdbf1c4e82907f9f39498bd3ba">update_arg</a> </td>
          <td>(</td>
          <td class="paramtype">void *&#160;</td>
          <td class="paramname"><em>field</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">char **&#160;</td>
          <td class="paramname"><em>orig_field</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int *&#160;</td>
          <td class="paramname"><em>field_given</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int *&#160;</td>
          <td class="paramname"><em>prev_given</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">char *&#160;</td>
          <td class="paramname"><em>value</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>possible_values</em>[], </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>default_value</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="cmdline_8c.html#a88e31a859f36efa57ad64e6ae13332a1">cmdline_parser_arg_type</a>&#160;</td>
          <td class="paramname"><em>arg_type</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>check_ambiguity</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>override</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>no_free</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>multiple_option</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>long_opt</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">char&#160;</td>
          <td class="paramname"><em>short_opt</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>additional_error</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>updates an option </p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">field</td><td>the generic pointer to the field to update </td></tr>
    <tr><td class="paramname">orig_field</td><td>the pointer to the orig field </td></tr>
    <tr><td class="paramname">field_given</td><td>the pointer to the number of occurrence of this option </td></tr>
    <tr><td class="paramname">prev_given</td><td>the pointer to the number of occurrence already seen </td></tr>
    <tr><td class="paramname">value</td><td>the argument for this option (if null no arg was specified) </td></tr>
    <tr><td class="paramname">possible_values</td><td>the possible values for this option (if specified) </td></tr>
    <tr><td class="paramname">default_value</td><td>the default value (in case the option only accepts fixed values) </td></tr>
    <tr><td class="paramname">arg_type</td><td>the type of this option </td></tr>
    <tr><td class="paramname">check_ambiguity</td><td></td></tr>
  </table>
  </dd>
</dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="structcmdline__parser__params.html#a6e4442704fc40b0b655f7cc602f13ec4" title="whether to check for options already specified in the option structure gengetopt_args_info (default 0...">cmdline_parser_params.check_ambiguity</a> </dd></dl>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">override</td><td></td></tr>
  </table>
  </dd>
</dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="structcmdline__parser__params.html#ad3ff9d69146e69a47506782197b5675c" title="whether to override possibly already present options (default 0)">cmdline_parser_params.override</a> </dd></dl>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">no_free</td><td>whether to free a possible previous value </td></tr>
    <tr><td class="paramname">multiple_option</td><td>whether this is a multiple option </td></tr>
    <tr><td class="paramname">long_opt</td><td>the corresponding long option </td></tr>
    <tr><td class="paramname">short_opt</td><td>the corresponding short option (or '-' if none) </td></tr>
    <tr><td class="paramname">additional_error</td><td>possible further error specification </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a63bd4f7f053a354810e136a39759f0b3"></a><!-- doxytag: member="cmdline.c::write_into_file" ref="a63bd4f7f053a354810e136a39759f0b3" args="(FILE *outfile, const char *opt, const char *arg, const char *values[])" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static void <a class="el" href="cmdline_8c.html#a63bd4f7f053a354810e136a39759f0b3">write_into_file</a> </td>
          <td>(</td>
          <td class="paramtype">FILE *&#160;</td>
          <td class="paramname"><em>outfile</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>opt</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>arg</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>values</em>[]&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<hr/><h2>Variable Documentation</h2>
<a class="anchor" id="a101ddd33a2cf858c144f9b89b443b5f3"></a><!-- doxytag: member="cmdline.c::cmdline_parser_bits_values" ref="a101ddd33a2cf858c144f9b89b443b5f3" args="[]" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const char* <a class="el" href="cmdline_8h.html#a101ddd33a2cf858c144f9b89b443b5f3">cmdline_parser_bits_values</a>[] = { &quot;16&quot;, &quot;20&quot;, &quot;24&quot;, 0 }</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Possible values for bits. </p>

</div>
</div>
<a class="anchor" id="af6e4cf8a2e851ac241127c0d8218f4b0"></a><!-- doxytag: member="cmdline.c::cmdline_parser_samplerate_values" ref="af6e4cf8a2e851ac241127c0d8218f4b0" args="[]" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const char* <a class="el" href="cmdline_8h.html#af6e4cf8a2e851ac241127c0d8218f4b0">cmdline_parser_samplerate_values</a>[]</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<b>Initial value:</b><div class="fragment"><pre class="fragment"> { <span class="stringliteral">&quot;88200&quot;</span>, <span class="stringliteral">&quot;176400&quot;</span>, <span class="stringliteral">&quot;352800&quot;</span>,
                0 }
</pre></div>
<p>Possible values for samplerate. </p>

</div>
</div>
<a class="anchor" id="accad6107ca685f6eba555f6ce63d355d"></a><!-- doxytag: member="cmdline.c::gengetopt_args_info_description" ref="accad6107ca685f6eba555f6ce63d355d" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const char* <a class="el" href="cmdline_8c.html#accad6107ca685f6eba555f6ce63d355d">gengetopt_args_info_description</a> = &quot;&quot;</td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="a6af7a6b7fb37c0abaa916ee1cfa0a41f"></a><!-- doxytag: member="cmdline.c::gengetopt_args_info_help" ref="a6af7a6b7fb37c0abaa916ee1cfa0a41f" args="[]" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const char* <a class="el" href="cmdline_8h.html#a6af7a6b7fb37c0abaa916ee1cfa0a41f">gengetopt_args_info_help</a>[]</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<b>Initial value:</b><div class="fragment"><pre class="fragment">
                { <span class="stringliteral">&quot;  -h, --help              Print help and exit&quot;</span>,
                                <span class="stringliteral">&quot;  -V, --version           Print version and exit&quot;</span>,
                                <span class="stringliteral">&quot;  -r, --samplerate=Hz     Output sample rate  (possible values=\&quot;88200\&quot;, \n                            \&quot;176400\&quot;, \&quot;352800\&quot; default=`88200&#39;)&quot;</span>,
                                <span class="stringliteral">&quot;  -b, --bits=bits         Output bitdepth  (possible values=\&quot;16\&quot;, \&quot;20\&quot;, \n                            \&quot;24\&quot; default=`24&#39;)&quot;</span>,
                                <span class="stringliteral">&quot;  -n, --nodither          Don&#39;t add dither before quantization  (default=off)&quot;</span>,
                                <span class="stringliteral">&quot;  -s, --scale=dB          Scale adjustment. Raw DSD has a modulation depth of \n                            approximately 0.5 so with no scaling the PCM peak \n                            level is approximately -6dB below 0dBFs  \n                            (default=`4&#39;)&quot;</span>,
                                <span class="stringliteral">&quot;  -i, --infile=filepath   Input DSF or DFF file&quot;</span>,
                                <span class="stringliteral">&quot;  -o, --outfile=filepath  Output FLAC file, if not specified the output file be \n                            the same as the input file with the extension \n                            changed&quot;</span>,
                                <span class="stringliteral">&quot;  -d, --dop               Encode DSD data directly into FLAC file without \n                            conversion to PCM using DoP format (DSD over PCM)  \n                            (default=off)&quot;</span>,
                                0 }
</pre></div>
<p>all the lines making the help output </p>

</div>
</div>
<a class="anchor" id="a610c3307abce5a8fd304b86b018ae60b"></a><!-- doxytag: member="cmdline.c::gengetopt_args_info_purpose" ref="a610c3307abce5a8fd304b86b018ae60b" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const char* <a class="el" href="cmdline_8h.html#a610c3307abce5a8fd304b86b018ae60b">gengetopt_args_info_purpose</a> = &quot;Convert DSD audio files from DFF or DSF format into PCM flac audio.&quot;</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>the purpose string of the program </p>

</div>
</div>
<a class="anchor" id="a9f397a306f363bfdebb611e86acf36d5"></a><!-- doxytag: member="cmdline.c::gengetopt_args_info_usage" ref="a9f397a306f363bfdebb611e86acf36d5" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const char* <a class="el" href="cmdline_8h.html#a9f397a306f363bfdebb611e86acf36d5">gengetopt_args_info_usage</a> = &quot;Usage: dsf2flac [OPTIONS]...&quot;</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>the usage string of the program </p>

</div>
</div>
<a class="anchor" id="a08f16a026de44b77c5e7be490fb9e32b"></a><!-- doxytag: member="cmdline.c::package_name" ref="a08f16a026de44b77c5e7be490fb9e32b" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">char* <a class="el" href="cmdline_8c.html#a08f16a026de44b77c5e7be490fb9e32b">package_name</a> = 0<code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
</div><!-- contents -->
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Defines</a></div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>



<hr class="footer"/><address class="footer"><small>
Generated on Fri Sep 13 2013 14:17:51 for DSF2FLAC by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.7.6.1
</small></address>

</body>
</html>
